#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>

using namespace std;

int main()
{
    // signal(2, SIG_DFL);
    signal(2, SIG_IGN);
    while(1)
    {
        cout << "hello signal" << endl;
        sleep(1);
    }


    // int a = 10;
    // a /= 0;
    // cout << "a=" << a << endl;


    // pid_t id = fork();
    // if (id == 0)
    // {
    //     int cnt = 500;
    //     while (cnt)
    //     {
    //         cout << "I am a child process, pid: " << getpid() << " cnt: " << cnt << endl;
    //         sleep(1);
    //         cnt--;
    //     }
    //     exit(0);
    // }
    // int status = 0;
    // pid_t rid = waitpid(id, &status, 0);
    // if (rid == id)
    // {
    //     cout << "wait success, rid: " << rid << " exit code: " << ((status>>8)&0xff)
    //     << " exit signal: " << (status&0x7f) << " core dump: " << ((status>>7)&1) << endl;
    // }

    return 0;
}
